/**
 * 
 */
var title = 'GPT - Mensaje';
function postreparto(url, index) {
	var band = true;
	var precio = $.trim($("#precioPost" + index).val());
	var montoTotal = $.trim($("#montoTotalPost" + index).val());
	var titulosTotal = $.trim($("#titulosTotalPost" + index).val());
	var montoTotalReal = 0;
	if (precio == "" || (montoTotal == "" && titulosTotal == ""))
		band = false;
	if (band) {
		if (titulosTotal != "") {
			if (!validarNumero(precio) || !validarNumero(titulosTotal)) {
				jAlert("Los valores ingresados no son v\u00e1lidos.", title);
				band = false;
			}
			montoTotal = 0;
		}
		if (montoTotal != "") {
			if (!validarNumero(precio) || !validarNumero(montoTotal)) {
				jAlert("Los valores ingresados no son v\u00e1lidos.", title);
				band = false;
			}
			titulosTotal = 0;
			var auxMontoTotal = (parseFloat(montoTotal) * 100000000).toFixed();
			var auxPrecio = (parseFloat(precio) * 100000000).toFixed();
			var auxTitulos =(auxMontoTotal / auxPrecio).toFixed();
			var auxMontoTotal2 = ((auxPrecio * auxTitulos)/100000000);
			montoTotal=auxMontoTotal2;
			var difMonto= Math.abs(((auxMontoTotal2.toFixed(2) * 100000000) - auxMontoTotal)/100000000);
			if (difMonto <= 0.01 ){//auxMontoTotal % auxPrecio == 0) {
				if (parseInt(auxMontoTotal) < parseInt(auxPrecio)) {
					jAlert("El monto no puede ser menor al precio.", title);
					band = false;
				}
			} else {
				jAlert("El n\u00famero de t\u00EDtulos obtenido no es consistente con la operaci\u00f3n monto/precio.", title);
				band = false;
			}
		}
		if (band) {
			$("#montoTotalPostForm" + index).val(montoTotal);
			$("#totalTitulosPostForm" + index).val(titulosTotal);
			$("#precioPostForm" + index).val(precio);
			$("#z" + index).val((new Date()).getTime());
			$.post(url, $("#formOrden" + index).serialize(), function(data) {
				$("#divOrden" + index).html(data);
				$("#calendario" + index).datepicker();
				$("#calendario" + index)
						.datepicker($.datepicker.regional["es"]);
				$("#calendario" + index).datepicker("option", "altFormat",
						"mm/dd/yy");
			});
		}
	} else {
		jAlert("Debe ingresar precio y t\u00EDtulos o bien precio y monto.", title);
	}
}

function tipoRecalcular(index, valor) {
	$("#tipoRecalculo" + index).val(valor);
	$("#divOrden" + index + " .campoPost").attr("disabled", "disabled");
	$("#divOrden" + index + " .campoPost" + valor).removeAttr("disabled");
}

function recalcular(url, index) {
	var tipo = $("#tipoRecalculo" + index).val();
	var montoTotal = $.trim($("#montoTotalPostLabel" + index).val());
	var totalTitulos = $.trim($("#totalTitulosPostForm" + index).val());
	var precio = $("#precioPostForm" + index).val();
	precio = (parseFloat(precio) * 100000000).toFixed();
	$("#divOrden" + index + " .campoPost").attr("disabled", "disabled");
	if (montoTotal == "" || totalTitulos == "") {
		jAlert("Debe realizar el postreparto para poder recalcular.", title);
	} else {
		montoTotal = parseFloat(montoTotal, 10);
		totalTitulos = parseInt(totalTitulos);
		if (tipo == 1) {
			/* Recalculo por titulos */
			var sumaTitulos = 0;
			var band = true;
			$("#divOrden" + index + " .campoPost" + tipo).each(function() {
				var valor = $.trim($(this).val());
				if (valor == "") {
					band = false;
				} else {
					if (!validarNumero(valor)) {
						band = false;
					} else {
						sumaTitulos += parseInt(valor);
					}
				}
			});
			var diferencia=0;
			if (!band) {
				$("#divOrden" + index + " .campoPost" + tipo).removeAttr(
						"disabled");
				jAlert("Hay campos sin t\u00EDtulos especificados o no v\u00e1lidos.", title);
			} else {
				diferencia = totalTitulos - sumaTitulos;
				if (diferencia == 0) {
					$("#divOrden" + index + " .campoPost" + tipo).each(
							function() {
								var titulosPost = $.trim($(this).val());
								$("#" + this.id + "Form").val(titulosPost);
							});
					$("#z" + index).val((new Date()).getTime());
					$.post(url, $("#formOrden" + index).serialize(), function(
							data) {
						$("#divOrden" + index).html(data);
						$("#calendario" + index).datepicker();
						$("#calendario" + index).datepicker(
								$.datepicker.regional["es"]);
						$("#calendario" + index).datepicker("option",
								"altFormat", "mm/dd/yy");
					});
				} else {
					$("#divOrden" + index + " .campoPost" + tipo).removeAttr(
							"disabled");
					var mensaje= diferencia > 0 ? "Faltan asignar "+diferencia+" t\u00EDtulos." : "Sobran "+diferencia+" t\u00EDtulos.";
					jAlert("La suma de los t\u00EDtulos especificados debe coincidir con el total. "+mensaje, title);
				}
			}
		}

		if (tipo == 2) {
			/* Recalculo por monto */
			var sumaMonto = 0;
			var band = true;
			$("#divOrden" + index + " .campoPost" + tipo).each(function() {
				var valor = $.trim($(this).val());
				if (valor == "") {
					band = false;
				} else {
					if (!validarNumero(valor)) {
						band = false;
					} else {
						var auxMonto = ((parseFloat(valor)).toFixed(2) * 100000000).toFixed();
						sumaMonto += parseInt(auxMonto);
					}
				}
			});
			var diferencia=0;
			if (!band) {
				$("#divOrden" + index + " .campoPost" + tipo).removeAttr(
						"disabled");
				jAlert("Hay campos sin montos especificados o no v\u00e1lidos.", title);
			} else {
				sumaMonto=sumaMonto/100000000;
				diferencia = montoTotal - sumaMonto;
				if (diferencia == 0) {
					$("#divOrden" + index + " .campoPost" + tipo).each(
							function() {
								var montoPost = parseFloat($
										.trim($(this).val()), 10);
								$("#" + this.id + "Form").val(montoPost);
							});
					$("#z" + index).val((new Date()).getTime());
					$.post(url, $("#formOrden" + index).serialize(), function(
							data) {
						$("#divOrden" + index).html(data);
						$("#calendario" + index).datepicker();
						$("#calendario" + index).datepicker(
								$.datepicker.regional["es"]);
						$("#calendario" + index).datepicker("option",
								"altFormat", "mm/dd/yy");
					});
				} else {
					$("#divOrden" + index + " .campoPost" + tipo).removeAttr(
							"disabled");
					var mensaje= diferencia > 0 ? "Falta asignar "+diferencia.toFixed(2)+" en monto." : "Sobra "+diferencia.toFixed(2)+" en monto.";
					jAlert("La suma de los montos especificados debe coincidir con el total. "+mensaje, title);
				}
			}
		}

		if (tipo == 3) {
			/* Recalculo por porcentaje */
			var sumaPorcentaje = 0;
			var band = true;
			$("#divOrden" + index + " .campoPost" + tipo).each(function() {
				var valor = $.trim($(this).val());
				if (valor == "") {
					band = false;
				} else {
					if (!validarNumero(valor)) {
						band = false;
					} else {
						sumaPorcentaje += parseFloat(valor, 10);
					}
				}
			});
			var diferencia=0;
			if (!band) {
				$("#divOrden" + index + " .campoPost" + tipo).removeAttr(
						"disabled");
				jAlert("Hay campos sin porcentajes especificados o no v\u00e1lidos.", title);
			} else {
				diferencia = 100 - sumaPorcentaje.toFixed(2);
				if (diferencia == 0) {
					$("#divOrden" + index + " .campoPost" + tipo).each(
							function() {
								var porcentajePost = parseFloat($.trim($(this)
										.val()), 10);
								$("#" + this.id + "Form").val(porcentajePost);
							});
					$("#z" + index).val((new Date()).getTime());
					$.post(url, $("#formOrden" + index).serialize(), function(
							data) {
						$("#divOrden" + index).html(data);
						$("#calendario" + index).datepicker();
						$("#calendario" + index).datepicker(
								$.datepicker.regional["es"]);
						$("#calendario" + index).datepicker("option",
								"altFormat", "mm/dd/yy");
					});
				} else {
					$("#divOrden" + index + " .campoPost" + tipo).removeAttr(
							"disabled");
					var mensaje= diferencia > 0 ? "Falta asignar "+diferencia.toFixed(2)+" en porcentaje." : "Sobra "+diferencia.toFixed(2)+" en porcentaje.";
					jAlert("La suma de los porcentajes especificados debe ser igual al 100%. "+mensaje, title);
				}
			}
		}

	}
}